package com.zhaopin.theswordreferstooffer;

import java.util.Map;
import java.util.TreeMap;

/**
 * @author yin.peide
 * @date 2021-06-28 20:04
 * 面试题40: 数组中只出现一次的数字
 * 书中说让使用异或的方式，但是我觉得使用map比较容易理解
 * 自己解法：放到一个map里面 就行 ，不一定非得是treeMap
 */
public class Offer40 {

    public static void main(String[] args) {
        int[] attr = {2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 9, 9};

        TreeMap<Integer, Integer> treeMap = new TreeMap<>();
        for (int i = 0; i < attr.length; i++) {
            if (treeMap.containsKey(attr[i])) {
                int key = attr[i];
                int value = treeMap.get(attr[i]);
                treeMap.put(key, ++value);

            } else {
                treeMap.put(attr[i], 1);
            }
        }
        System.out.println();


        for (Map.Entry<Integer, Integer> integerIntegerEntry : treeMap.entrySet()) {
            if(integerIntegerEntry.getValue() == 1){
                System.out.println(integerIntegerEntry.getKey());
            }
        }


    }
}
